CRIANDO ANIMAÇÕES EM 3-D

As animações do Maple V são sequências de figuras ( frames ) que são mostradas de forma rápida, num mesmo quadro. Esta descrição é valida tanto para as animações em 2D quanto para as em 3D.

Para criarmos uma animação em 3D, utilizaremos o comando animate3d. Abaixo veremos um exemplo de animação com o comando animate3D.

> with(plots):
animate3d(cos(t+x)+sin(t+y),x=-2*Pi..2*Pi, y=-2*Pi..2*Pi,t=-2..4,orientation=[28,8],style=PATCHNOGRID);

[Maple Plot]

Ao criarmos uma animação no Maple, aparecem duas barras de controle para que possamos fazer manipulações nesta animação:

[Maple OLE 2.0 Object]

[Maple OLE 2.0 Object]

Estas barras são selecionadas através de um botão do lado direito das mesmas, estando apenas uma disponível por vez. [Maple OLE 2.0 Object]

A segunda barra é a mesma utilizada para estruturas 3D normais, sendo a primeira a mais importante. Nela encontramos os botões de play e stop , para iniciarmos e pararmos a animação, respectivamente. [Maple OLE 2.0 Object]

O próximo botão que encotramos nos permite a transição passo-a-passo dos frames , sendo utilizado quando a animação encontra-se parada. [Maple OLE 2.0 Object]

Os dois botões subsequentes nos permitem mudar a direção da animação, para frente e para trás, respectivamente. [Maple OLE 2.0 Object]

Logo após, encontramos os botões que modificam a velocidade da animação, fazendo com que possamos aumentá-la ou diminuí-la. [Maple OLE 2.0 Object]

Por fim, encontramos os botões que são utilizados para mostrar os frames em ciclo único ou em ciclo contínuo. [Maple OLE 2.0 Object]

O comando animate3d possui basicamente 3 parâmetros além da função, sendo os dois primeiros o intervalo de x e y e o terceiro um intervalo t que especifica como as coordenadas dos frames variarão de um frame até o próximo. Abaixo temos um exemplo simples de animação utilizando apenas os parâmetros básicos.

> with(plots): with(plottools):

> animate3d((x^2)*(y^2)*t^2,x=-10..10,y=-10..10,t=-10..10);

[Maple Plot]

O Maple possui um série de parâmetros associados ao comando animate3d . Abaixo veremos alguns exemplos comparativos da utilização desses parâmetros.

O parâmetro frames tem o objetivo de definir quantos frames serão mostrados num determinado ciclo. O Maple lida com 8 frames como default. A sintaxe utilizada é frames = n , sendo n o número de frames que serão exibidos. Tendo como base a nossa primeira animação, veremos a diferença ao utilizarmos um número menor de frames .

> with(plots):

> animate3d(cos(t+x)+sin(t+y),x=-2*Pi..2*Pi, y=-2*Pi..2*Pi,t=-2..4,frames=3);

> animate3d(cos(t+x)+sin(t+y),x=-2*Pi..2*Pi, y=-2*Pi..2*Pi,t=-2..4);

[Maple Plot]

[Maple Plot]

Muitos dos parâmetros válidos para gráficos estáticos são utilizados também para animações. Chamam mais atenção aqueles referentes a cores e formas. Veremos abaixo o parâmetro style e algumas de suas variações, utilizando uma única função.

> with(plots):

> animate3d(cos(t+x)+sin(t+y),x=-2*Pi..2*Pi, y=-2*Pi..2*Pi,t=-2..4,orientation=[30,10],style=HIDDEN);

> animate3d(cos(t+x)+sin(t+y),x=-2*Pi..2*Pi, y=-2*Pi..2*Pi,t=-2..4,orientation=[30,10],style=POINT);

> animate3d(cos(t+x)+sin(t+y),x=-2*Pi..2*Pi, y=-2*Pi..2*Pi,t=-2..4,orientation=[30,10],style=PATCH);

> animate3d(cos(t+x)+sin(t+y),x=-2*Pi..2*Pi, y=-2*Pi..2*Pi,t=-2..4,orientation=[30,10],style=CONTOUR);

[Maple Plot]

[Maple Plot]

[Maple Plot]

[Maple Plot]

Nós podemos criar animações sem utilizarmos o comando animate . Para isto, faremos uma combinação de vários plots e utilizaremos o comando display com o parâmetro insequence igual a true .

Abaixo temos o exemplo de uma animação utilizando o comando display e o comando rotate .

> with(plots): with(plottools):

> base:=display(octahedron([0,0,0],1),scaling=constrained,axes=none, lightmodel=light4,shading=zgreyscale,orientation=[130,80], style=PATCHNOGRID):

> N:=16:

> angles := [seq(Pi*k/(2*N),k=0..(N-1))]:

> for phi in angles do

> P[phi] := rotate(base,0,0,phi)

> od:

> display([seq(P[phi],phi=angles)],insequence=true);

[Maple Plot]

VOLTAR